package com.kakarote.oa.entity.PO;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author wwl
 * @date 2022/7/4 14:55
 */
@Data
@TableName(value = "wk_oa_log_template_config")
@ApiModel(value = "OaLogTemplateConfig对象", description = "日志模板")
public class OaLogTemplateConfig implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty(value = "是否自定义0否1是 ")
    private Integer systemFlag;

    @ApiModelProperty(value = "模板名称")
    private String name;

    @ApiModelProperty(value = "模板icon")
    private String templateIcon;

    @ApiModelProperty(value = "模板类型 0不参与统计，1日报2周报3月报")
    private Integer type;

    @ApiModelProperty(value = "提交类型 0不限制 1天 2周 3月")
    private Integer submitType;

    @ApiModelProperty(value = "提交数量")
    private Integer submitCount;

    @ApiModelProperty(value = "模板状态1 正常 2 停用 3 删除 ")
    private Integer status;

    @ApiModelProperty(value = "适用范围（部门）")
    private String deptIds;

    @ApiModelProperty(value = "是否展示子级部门 0不需要 1 需要")
    private Integer isNeedChild;

    @ApiModelProperty(value = "适用范围（用户）")
    private String userIds;

    @ApiModelProperty(value = "是否限制字数的开关：0不限制 默认1限制")
    private Integer limitFlag;

    @ApiModelProperty(value = "limitFlag == 1 时的最小值 ")
    private Integer min;

    @ApiModelProperty(value = "limitFlag == 1 时的最大值 ")
    private Integer max;

    @ApiModelProperty(value = "填写后是否允许修改 ： 默认0能， 1不能")
    private Integer modifyFlag;

    @ApiModelProperty(value = "填写后是否允许删除：0不允许员工删除提交的日志；1仅允许删除24小时内提交的日志；2允许员工删除提交的日志")
    private Integer deleteFlag;

    @ApiModelProperty(value = "自定义抄送开关：默认0未开启， 1开启")
    private Integer customSend;

    @ApiModelProperty(value = "默认发送范围-部门")
    private String sendDeptIds;

    @ApiModelProperty(value = "默认发送范围-员工")
    private String sendUserIds;

    @ApiModelProperty(value = "上级列表")
    private String parentLevels;

    @ApiModelProperty("描述说明")
    private String remark;

    @ApiModelProperty(value = "日志规则是否统计 默认0否，1是")
    private Integer ruleStatus;


    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;

    @TableField(exist = false)
    private String createUserName;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    @TableField(fill = FieldFill.UPDATE)
    private Long updateUserId;

    @TableField(exist = false)
    private String updateUserName;


}
